<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>

    // 根据二维数组得到Map数据
    var arr = [1,2,3];
    var obj = {a:1,b:2};

    var list = [[100,200],["hello","world"],[true,false],[null,undefined],[arr,arr],[obj,obj]];

    // 1. 手动转化
    // var m = new Map();
    // list.forEach(function(item){  // item =>  [100,200]
    //     var [key,val] = item;
    //     m.set(key,val);
    // })
    // console.log(m);

    // 2. 自动转换 new Map()  可以接收一个二维数组 => 生成对应的Map结构
    var m = new Map(list);
    console.log(m);


    // 根据Map数据得到键值对的二维数组

    // 1. 手动转换(麻烦)
    // var list = [];
    // m.forEach(function(val,key){
    //     var subArr = [key,val]; // [100, 200]
    //     list.push(subArr);
    // })
    // console.log(list);

    // 2. 快捷转换
    // Array.from()
    // ...    (可以展开 数组 伪数组 对象 字符串 Map Set等可遍历结构)

    // var list = Array.from(m);
    var list = [...m];
    console.log(list);


    var str = "hello";
    var arr = [...str];
    console.log(arr);



</script>
</html>